﻿using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;

using Microsoft.DirectX;

namespace MapWindow.DirectX
{
    /// <summary>
    /// An EditVector wraps a vector3, making it viewable in the designer
    /// </summary>
    public class EditVector : Component
    {
        private Vector3 _vector;

        /// <summary>
        /// Creates a new instance of an edit vector
        /// </summary>
        public EditVector()
        {
            _vector = new Vector3(0, 0, 0);
        }

        /// <summary>
        /// Gets or sets the X coordinate
        /// </summary>
        [Description("Gets or sets the X coordinate")]
        public float X
        {
            get { return _vector.X; }
            set { _vector.X = value; }
        }

        /// <summary>
        /// Gets or sets the Y component
        /// </summary>
        [Description("Gets or sets the Y coordinate")]
        public float Y
        {
            get { return _vector.Y; }
            set { _vector.Y = value; }
        }

        /// <summary>
        /// Gets or sets the Z component
        /// </summary>
        [Description("Gets or sets the Z coordinate")]
        public float Z
        {
            get { return _vector.Z; }
            set { _vector.Z = value; }
        }

        /// <summary>
        /// Gets or sets the vector itself
        /// </summary>
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
        public Vector3 Vector
        {
            get { return _vector; }
            set { _vector = value; }
        }

        

    }
}
